package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 抽奖记录
 */
@ApiModel(value = "com-lanchetech-entity-LotteryRecord")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class LotteryRecord implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty(value = "用户id")
    private Long userId;

    /**
     * 抽奖类型活动id
     */
    @ApiModelProperty(value = "抽奖类型活动id")
    private Long lotteryId;

    /**
     * 积分订单编号
     */
    @ApiModelProperty(value = "积分订单编号")
    private Long coinOrderId;

    /**
     * 消耗积分数量
     */
    @ApiModelProperty(value = "消耗积分数量")
    private BigDecimal costCoin;

    /**
     * 中奖状态 0 未中奖 1 已中奖
     */
    @ApiModelProperty(value = "中奖状态 0 未中奖 1 已中奖")
    private Byte status;

    /**
     * 收货地址状态 0 未设置收货地址 1 已设置收货地址
     */
    @ApiModelProperty(value = "收货地址状态 0 未设置收货地址 1 已设置收货地址")
    private Byte addressStatus;

    /**
     * 类型（兼容积分商品类型） 2 幸运抽奖 3 九宫格抽奖 4 大盘转 5 刮刮卡
     */
    @ApiModelProperty(value = "类型（兼容积分商品类型） 2 幸运抽奖 3 九宫格抽奖 4 大盘转 5 刮刮卡")
    private Byte type;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    /**
     * 抽奖活动名称
     */
    @ApiModelProperty(value = "抽奖活动名称")
    private String name;

    /**
     * 积分商品id
     */
    @ApiModelProperty(value = "积分商品id")
    private Long coinProductId;

    /**
     * 奖励积分/红包余额数量
     */
    @ApiModelProperty(value = "奖品数额")
    private BigDecimal prizeAmount;

    /**
     * 奖品类型 0 奖品 1 积分 2 谢谢参与 3 红包余额
     */
    @ApiModelProperty(value = "奖品类型 0 消费金 1 嗨币 2 谢谢参与 3 常规商品")
    private Byte prizeType;

    /**
     * 奖品名称
     */
    @ApiModelProperty(value = "奖品名称")
    private String prizeName;

    /**
     * 奖品图片
     */
    @ApiModelProperty(value = "奖品图片")
    private String prizeImage;

    /**
     * 奖品index
     */
    @ApiModelProperty(value = "奖品index")
    private Integer indexNumber;

    private static final long serialVersionUID = 1L;
}